请解释下char **p={"123","456","789"};错误的原因

来源:百度知道 编辑:UC知道 时间:2024/07/01 13:39:27

看不出哪错了,至少从我的逻辑上看是这样。*运算的结合性是从右至左,因此**p相当于*(*p),char **p 就是指针的指针p,这个p也是一个内存地址,这个地址所指向的内存段是用来存储另一个指针的。这另一个指针的所指向的内存段是用来存储一个char变量的。
也许是我学的不透吧,仅供参考。

1.在定义指针时有且只能出现一个‘*’
2.在使用指针时可以有多个‘*’
3.上式可以改为:char *p[4]={"123","456","789"};

第二、你好像是要写一个数组,也该是p[]。
第三、**p是指向指针的指针。

仅供参考

{"123","456","789"}返回的是二维数组的首地址,类型是char*,不是char**